1. Field of the Invention
The present invention relates to a communication system, and more particularly, to a data rate matching method in a 3GPP2 system.
2. Background of the Related Art
In general, the 3GPP2 (the 3rd Generation Partnership Project 2) system has two transmission modes in addition to a regular data rate mode. These modes are a flexible data rate mode and a variable data rate mode.
The regular data rate mode is a transmission mode operative on a fixed chain called a Radio Configuration (RC). The RC represents a kind of transmission chain in which lengths of information data, channel interleaver, and an output bitstreams from a channel encoder according to a code rate of channel codes, are made the same to form a standard. In this instance, there is a certain standard rule among the length of the channel interleaver, the coding rate of the channel encoder, and the length of a channel Walsh code.
That is, once a chip rate to be used is fixed, a number of chips required for one modulated symbol is fixed according to the length of the channel interleaver, which may be defined as a spreading factor, according to which the length of the Walsh code, that can subject different channels to code multiplexing, is fixed. The number of available Walsh codes is proportional to the length of the Walsh code. Therefore, the number of channels that a multiplexing channel can accommodate varies with the Walsh code.
For example, suppose lengths of input information bit sequence have the same lengths after being subjected to a channel coding process. In this instance, the capability of error correction code for correcting possible errors in the channel becomes stronger as the coding rate of the channel encoder becomes lower. That is, the lower the coding rate of the channel encoder, the higher the error correction capability. This permits a lower transmission power to be used.
However, using a low channel coding rate lengthens the output bitstream of the channel encoder, which, in turn, elongates the length of the channel interleaver. As a result, a modulation symbol rate is increased, thus reducing a number of chips required for one modulation symbol at a fixed chip rate, and reducing the number of Walsh codes.
Alternatively, if a high channel coding rate is applied to input bit sequences of the channel encoder of identical lengths, lengths of output bit sequences of the channel encoder become short, even though the error correction capability is low. This decreases the modulation symbol rate, thus permitting the use of a short channel interleaver, to increase a number of available Walsh codes.
From the above description, it is understood that there is a certain trade off between the coding rate of the channel encoder and the Walsh code spacing.
The RC is a standardized transmission chain useful when securing the Walsh code spacing is desirable, or when a lower transmission power is required, taking such a trade off relation into account. In the 3GPP2 system, there are currently several standard RCs for 1× system of 1.2288 Mcps chip rates, and several standard RCs for 3× system of 3.686 Mcps chip rates. It should be noted that, since the spreading factor has a value in a form raised to the second power, both the input data rate and the length of the interleaver defined in each of the RCs also have forms raised by a factor of two.
Before a channel is formed between a mobile station and a base station, the mobile station and the base station determine the RC to be used and the spreading factor on the RC, i.e., the length of the channel interleaver, through negotiation for processing a communication matched to the chain. Modes in which the transmission chain differs from the transmission chain defined in the RC are (i) the flexible data rate mode and (ii) the variable data rate mode.
In the flexible data rate, any data transmission rate other than the standard data transmission rate supported on the RC can be supported. For example, in cdma2000, transmission channels with various symbol rates are adjusted into transmission channels with optimal symbol rates by applying symbol repetition or puncturing thereto. In the adjustment of the symbol rate, a flexible data rate method is generally used, which is a method for supporting any transmission rate other than a standard transmission rate supported in RCs of the cdma2000.
The flexible data rate was introduced to support an Adaptive Multi-Rate (AMR) CODEC, one of speech CODEC in the 3GPP2 on a physical layer. Data bits not consistent to the standard RC transmission rates in present cdma2000 support in a 20 ms frame length may be provided in a case of the AMR. In this instance, as one example, the length of the data bits inconsistent with the standard transmission rate may be matched with a length of data at a transmission rate supported in the RC by using a zero padding on a physical layer. Alternatively, the length of the data bits inconsistent with the standard transmission rate may be matched with a length of data at a transmission rate supported in the RC by means of symbol repetition and puncturing between a channel encoder and a block interleaver for optimizing the data rate (flexible data matching).
On the other hand, the variable data rate mode has been provided under the following purpose. In the 3GPP2 system, the base station makes transmission scheduling to a forward supplemental channel, when the base station assigns a fixed data transmission rate to the mobile station for a time period by means of a message. However, a channel situation between the base station and the mobile station during the particular time period may be changed, and a system load on the base station may be changed. For example, as the mobile station goes farther from the base station, the channel quality becomes poorer, until the base station lacks enough transmission power to transmit data to a particular mobile station at the current data transmission rate.
To solve this problem, the base station may stop transmission of data to supplementary channels for the time period. However, such a solution causes delays in data transmission, as well as needless waste of available transmission power and Walsh codes.
As an alternative, the base station may re-schedule the data transmission rate after a time period is passed. However, this alternative also causes the problem of time delay and waste of the Walsh codes.
The occurrence of this situation is not limited to the forward link. Thus, the channel situation between the mobile station and the base station may also vary with movements of the mobile station in the reverse link. This can cause a lack of transmission power required to sustain an appropriate quality. Consequently, the variable data rate mode is used to solve such a situation.
In the variable data rate mode, the transmission rate is varied with frames depending on situation. That is, if the channel environment is determined to be poor, the base station drops the transmission rate of the supplementary channel. When the channel environment is determined to be restored, the base station restores the transmission rate of the supplementary channel. Provided that such a variable data rate mode is applied, the base station can use available power without frequent re-scheduling.
A related art flexible data rate matching method will be explained with reference to FIG. 1.
A bitstream with a length ‘I’ is provided to a channel encoder, and encoded into a bitstream with a length L (=nI) (step 10). In this instance, a number ‘M’ of repetition is fixed according to the following equation, where ‘N’ denotes an interleaving depth of a block interleaver used in the present RC. The channel-encoded bitstream is symbol repeated in ‘M’ times (step 11).
                              M          =                      ⌈                          N              L                        ⌉                          ,                            (        1        )            
Here, ┌x┐ denotes the smallest integer equal to, or greater than ‘x’. The length of the output bitstream after the bitstream passes through a symbol repeater is L*M. If the length of the output bitstream of the symbol repeater has a value greater than a depth ‘N’ of the block interleaver, the length of the output bitstream is punctured for matching with a desired depth of the interleaver (step 12). Accordingly, an amount ‘P’ of puncturing required for one frame can be expressed as the following equation (2).P=LM−N  (2)
For carrying out such a puncturing, at first, a puncturing distance ‘D’ is defined as follows.
                    D        =                  ⌊                      LM            P                    ⌋                                    (        3        )            
Here, └x┘ denotes the greatest integer not greater than ‘x’. That is, ‘P’ bits of L*M bits of a bitstream passed through the symbol repeater are punctured at ‘D’ intervals at indices ‘D’, ‘2D’, ‘3D’,—when the (L*M) bits of the bitstream are indexed from ‘1’ to (L*M). Consequently, the size (length) of the punctured bitstream is the same with the size (depth) ‘N’ of the interleaver (step 13). Thus, the matching of the flexible data rate is done over two steps of symbol repetition and puncturing in the related art.
Thus, as described before, the length of the channel interleaver used in each RC is fixed according to the spreading factor. Since the spreading factor has a value in a form raised by a power of 2, a ratio of the length of the interleaver fixed according to one spreading factor to the length of the interleaver fixed according to another spreading factor one step lower than the one spreading factor is exactly 1:2.
If the greater spreading factor is represented with ‘A’ and the smaller spreading factor is represented with ‘B’, a 1:1 mapping can be established between the spreading factor and the input information bitstream of the channel encoder in each RC. If lengths of the input information bit sequence of the channel encoder are represented with IA for the spreading factor ‘A’ and IB for the spreading factor ‘B’ respectively, a relation of IB=2*IA is established. If the lengths of the channel interleavers to be used are represented with NA and NB respectively, a relation of NB=2*NA is established.
If it is assumed that a coding rate of the channel encoder (using turbo codes or convolution codes) in the present RC is 1/n as illustrated in FIG. 1, taking the flexible or variable data rate mode into account, in which an ‘I’ (a length of an information bitstream having CRC bits, tail bits, and reserved bits added thereto in steps 10 and 11) is a length of the input bitstream of the channel encoder, that meets a non-regular data length of “IA<I<IB”, the input ‘I’ will provides an output “n*I”, when “NA<n*I<NB” is also met (step 12).
Consequently, a certain operation for matching the length of the output bitstream of the channel encoder “n*I” to the length of the interleaver is required. A method currently used in 3GPP employs is that the length L (=n*I) of the output bitstream of the channel encoder is matched to the interleaver of N=NB to require a bit repetition of “NB−n*I” (step 13), according to the following uniform repetition process. That is, a (k)th output symbol of a repetitive block can be predicted starting from a code symbol of
      (          ⌊                        k          ⁢                                          ⁢          L                N            ⌋        )    ⁢  thinput bitstream for an index k increased from ‘0’ up to ‘N−1’.
Next, a method for supporting the variable data rate mode will be described. In the variable data rate mode, a highest data rate supportable in the initial negotiation process, a data rate one step lower than the highest data rate, and data rate two steps lower than the highest data rate are defined as a transmission data rate set. Accordingly, in the variable data rate mode for the present supplementary channel, the data transmission rate can be adjusted between the supportable highest transmission rate and the two step lower transmission rate.
In the forward channel, the mobile station can only determine a rate variation by blind rate detection. Therefore, if a range of a data transmission rate variation is taken too large, an operative complexity of the mobile station is increased. The lengths of the channel interleaver and the Walsh codes, used in the highest transmission rate, should not be changed. That is, the interleaver and the Walsh codes used in the highest transmission rate presently should not be changed. If the data transmission rate is dropped to half of the highest transmission rate, two times of symbol repetition is required for matching the length of the interleaver to be used on the channel and the length of the output bitstream of the channel encoder.
Similarly, if the data transmission rate is dropped to a quarter of the highest transmission rate, four times of symbol repetition is required for matching the length of the interleaver to be used on the channel and the length of the output bitstream of the channel encoder. The foregoing example is applicable to a case of forward supplementary channel of a non-flexible data rate.
The variable data rate mode for the flexible data rate can be supported in the supplementary channel. However, in this case, the definitions of the flexible data rate and the variable data rate mode themselves become vague. That is, even if the highest data rate in the variable data rate mode is a regular rate in the present RC and the one step lower data rate is also a data rate fixed in the present RC, the one step lower data rate can already be taken as a flexible data rate that uses no transmission chain fixed in the present RC. This is because the length of interleaver in the variable data rate mode, i.e., the spreading factor, is in a state fixed as the spreading factor at the highest transmission rate.
As one example, consider a RC4 of the present forward channel, when the turbo codes or convolution codes of ½ rate is used. It is assumed that the highest transmission rate useable in the variable data rate mode is 76.8 kbps, when the length of the interleaver used in the forward RC4 is fixed at 3072. A variable data rate method in this mode will be discussed.
It is assumed that an appropriate value from a set of usable data transmission rates {19.2 kbps, 38.4 kbps, and 76.8 kbps} is used. Though data transmission rates of 19.2 kbps, and 38.4 kbps are the transmission rates defined in the RC4, there is no chain that connects the transmission rates to the 3072, the present interleaver length, in the RC. Therefore, those transmission rates may be taken as the variable data rates.
If the chain has an interleaver length fixed at ‘N’ even in the variable data rate mode and the present data transmission rate not defined in the present RC, the length of output bitstream of the channel encoder and the fixed interleaver length can be matched by means of the aforementioned uniform repetitive algorithm.
Once a transmission chain for supporting the flexible data rate or the variable data rate is included to an existing regular chain, a basic function block diagram as illustrated in FIG. 1 can be formed. A RC 5 on a forward link will be described as an example with reference to FIG. 1.
A reserved bit of ‘0’ or ‘1’ is added to channel bits (S10), and CRC bits are added to channel input bits having a length for detection of an error (S11). After the CRC bits are added to the channel input bits, tail bits or the reserved bits are added to the bit sequence (S12). When a convolution code is used, 8 tail bits are added, and when a turbo code is used, 6 tail bits and 2 reserved bits are added. The CRC and reserved bits, and the tail bits are added to form one information bit sequence, which is then channel coded into turbo codes or convolution codes (S13), subjected to symbol repetition (S14) and symbol puncturing (S15) to match with a desired interleaver length, and block interleaved at the block interleaver (S16).
As shown in FIG. 1, a symbol repetition is performed on an existing chain after channel coding in turbo codes or convolution codes, and then the symbol puncturing is performed. Therefore, both the symbol repetition and the symbol puncturing are operative on an existing regular data rate chain. However, as explained before, since an actual rate adaptation is made through a uniform repetition process in a symbol repetition block in the flexible and variable data rate operations, the symbol puncturing block is inoperative.
The method of symbol repetition in the related art has various problems. For example, it requires buffering for the length of output bitstream of the symbol repeater. Moreover, because, in the puncturing, the original bitstream is subjected to an ‘M’ times of symbol repetition to form an input bitstream greater than an interleaver block depth ‘N’ and the puncturing is made on the input bitstream, a method of symbol repetition changed from the related art is required for avoiding excessive repetition of an unnecessary bitstream to form an appropriate input bitstream for the puncturing block depth.
Additionally, Table 1 shows problems of a variable data rate operation mode in the forward link RC5, and in the backward link RC4. In the table 1, it is assumed that a virtual set of the variable data rate has {115.2 kbps, 80 kbps, 57.6 kbps}. Then, a size of a desired channel interleaver for a maximum allocated data rate is 6144. A chain for 115.2 kbps, the maximum allocated data rate, may be assumed to be an existing regular data rate chain, and, according to this, as can be known from FIG. 1, 4 symbols out of 12 code symbols are punctured for rate adaptation.
TABLE 1Length of InformationLength of a coderdesireddata rateoutput sequenceRate matchinginterleaver115.2 kbps2304 * 4 = 92154 bit puncturing among 126144bits (regular chainpuncturing)  80 kbps1600 * 4 = 6400Inoperative6144 57.6 kbps1152 * 4 = 46081536 symbol repetition6144
The symbol puncturing pattern for puncturing 4 symbols out of 12 symbols is defined in 3GPP2 for turbo codes and convolution codes as a sort of fixed pattern. Next, a chain for 57.6 kbps may be assumed to be a sort of flexible chain, when a 1536 bit uniform symbol repetitive algorithm is required for matching a length of a 4608 bit output sequence of the channel coder to a size of a 6144 bit interleaver. Then, operation of the puncturing block in FIG. 1 is stopped. However, the problem in the table 1 is a length of 6400 bits of the output sequence form the channel coder in 80 kbps is already greater than a desired length 6144 of the channel interleaver. Therefore, it is impossible to complete an existing regular chain by using an existing symbol repetition block.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.